package com.project.mapper;

import com.github.pagehelper.PageInfo;
import com.project.bean.InboxBean;
import com.project.bean.MailBean;
import org.apache.ibatis.annotations.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.time.LocalDate;
import java.util.List;

/**
 * 收件箱对象mapper接口
 */
@Mapper
public interface IInboxMapper {
    /**
     *动态分页查询收件箱记录，同时查询邮件的主题和发件日期，收件员工ID为固定条件，主题、起始日期、结束日期，为动态条件
     * @param title 主题
     * @param startDate 起始日期
     * @param endDate 结束日期
     * @param inboxId 收件员工id
     * @return 邮件分页对象
     */
    public List<InboxBean> findInboxByItem( @Param("title") String title,
                                            @Param("startDate") LocalDate startDate,
                                            @Param("endDate") LocalDate endDate,
                                            @Param("inboxId") Integer inboxId);

    /**
     * 根据收件箱id查询邮件信息，同时查询发件人姓名，同时将收件箱阅读状态修改为“已阅读”
     * @param inboxId 收件箱id
     * @return 邮件对象
     */
    public MailBean findInboxById(Integer inboxId);

    /**
     * 根据收件箱id删除收件箱记录
     * @param inboxId 收件箱id
     */
    @Delete("DELETE FROM t_inbox WHERE pk_InboxId=#{inboxId}")
    public void delInbox(Integer inboxId);
}
